#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct node{
	int x,y;
	bool operator<(const node& p) const{
		
		if(y==p.y)
			return x<p.x;
		return y<p.y;
	}
};
int main()
{
	int n;
	cin>>n;
	vector<node> v;
	for(int i=0;i<n;i++)
	{
		node t;
		cin>>t.x>>t.y;
		v.push_back(t);
		
	}
	sort(v.begin(),v.end());
	int cur=0;
	int ret=0;
	for(int i=0;i<v.size();i++)
	{
		if(cur<=v[i].x)
		{
			ret++;
			cur=v[i].y;
		}
	}
	cout<<ret<<endl;
	return 0;
}

 
  
 
